package com.tarena.lbs.content.dao.repository;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.content.pojo.param.ArticleActionParam;
import com.tarena.lbs.content.pojo.param.ArticleContentParam;
import com.tarena.lbs.content.pojo.query.ArticleQuery;
import com.tarena.lbs.content.pojo.vo.ArticleActionPageResultVO;
import com.tarena.lbs.content.pojo.vo.ArticleVO;

import java.util.Set;

public interface ArticleRepository {

    PageResult<ArticleVO> pageList(ArticleQuery articleQuery);

    int saveOrUpdate(ArticleContentParam param) throws BusinessException;

    ArticleVO selectDetailById(String id);

    int deleteById(String id);

    Set<String> articleLabels(ArticleQuery articleQuery);

    int articleBehavior(ArticleActionParam param);

    ArticleActionPageResultVO getBehaviorLists(ArticleQuery query);
}
